第1节 Python语言基础
Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
内容提要
- 了解Python语言特点
- 了解Python语言的基本语法
- 会使用pip工具进行Python包管理
Python特点
- Python是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python是交互式语言: 这意味着,您可以在一个Python提示符
>>>
后直接执行代码。 - Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
- Python是初学者的语言:Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到浏览器再到游戏。
Python发展历史
Python是由Guido van Rossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python本身也是由诸多其他语言发展而来的,这包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell和其他的脚本语言等等。
像Perl语言一样,Python源代码同样遵循GPL(GNU General Public License)协议。
现在Python是由一个核心开发团队在维护,Guido Van Rossum仍然占据着至关重要的作用,指导其进展。
Python 2.7被确定为最后一个Python 2.x版本,其已于2020年1月1日终止支持。
Python包管理工具—pip
pip是一个通用的Python包管理工具,提供了对Python包的查找,下载,安装,卸载等功能。
使用pip
pip命令 | 功能 | 备注 | ||
---|---|---|---|---|
install | 安装软件包 | pip install [package name] | ||
download | 下载软件包 | |||
uninstall | 卸载软件包 | pip uninstall [package name] | ||
list | 列表列出已安装的软件包 | pip list | ||
show | 显示已安装软件包的信息 | pip show [package name] | ||
check | 检查已安装的软件包是否具有兼容的依赖项 | |||
search | 搜索PyPI查找软件包 | |||
help | 显示帮助命令 |
Python基本语法
关键字
关键字也称保留字,是被语言保护起来具有特殊含义的词,不能用于起名字。查看Python的语言的所有关键字(用Python自带的IDLE执行下面两句代码)
# 查看关键字
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
基本词法单位
基本词法单位包括常量、变量、关键字、运算符、表达式、函数、语句、类等。
- 常量:是指初始化(第一次赋予值)后保持固定不变的值。例如:3.14,'Hello!',False,这是4个不同类型的常量。在Python中没有命名常量,通常用一个不改变值的变量代替。比如:Pi=3.14 通常用于定义圆周率常数π。
- 标识符:用于不同的的词法单位,通俗的讲就是名字。标识符可以作为变量、函数、类的名字。合法的标识符必须遵守以下规则:
- 由一串字符组成,字符可以是任意字母、数字、下划线、汉字,但这些字符中的开头不能是数字。
- 不能与关键字同名。
- 标识符中唯一能够使用的标点符号是下划线,不能含有其他标点符号(包含:空格、括号、引号、逗号、斜线、反斜线、冒号、句号、问号等)。
- 变量:是指在运行的过程中值可以被修改的量。变量的名称除了必须符合标识符的构成规则外,要尽量遵循一些约定俗成的规范。以下划线开头的变量在Python中有特殊的含义,所以自定义名称时,一般不用下划线作为开头字符。此外,Python是严格区分大小写字母的。也就是说,Score和score会被认为是两个不同的名字。
- 运算符:指常量/变量之间进行何种运算。
- 表达式:由常量、变量加运算符构成。一个表达式可能包含多次多种运算,与数学表达式在形式上很接近。例如:1+2、2*(x+y)、0<=a<=10等。
- 函数:是相对独立的功能单位,可执行一定的任务。
- 语句:是由函数、表达式调用组成的。另外,各种控制结构也属于语句,例如: if语句、for语句。
- 类:是同一类事物的抽象。我们处理的数据都可以看做数据对象。Python是面向对象的程序设计语言,它是一个事物的静态特征(属性)和动态行为(方法)封装在一个结构里,称之为对象。
书写格式
缩进:使用缩进来区分代码块的级别。Python语言中没有采用花括号或begin...end等来分隔代码块,而是使用冒号和代码缩进来区分代码之间的层次。代码缩进是一种语法规则,错误的缩进可能导致代码的含义完全不同。建议使用在缩进代码前输入4个空格来表示代码缩进,不推荐其他数量的空格或使用制表符的方式来完成缩进。
分号:Python允许在行尾加分号,但不建议加分号,也不要用分号将两条命令放在同一行中。建议每一条命令单独一行。
- 长语句行:除非遇到长的导入模块语句或者注释里的URL,建议不宜超过80个字符。对于超长语句,允许但不提倡使用反斜杠连接行,建议在需要的地方使用圆括号来连接行。
# 不推荐写法
year1 = 2016
if year1 % 4 == 0 and year1 % 100 != 0 or \
year1 % 400 == 0:
print(year1,"是闰年!")
else:
print(year1,"不是闰年!")
# 推荐写法
year2 = 2018
if (year2 % 4 == 0 and year2 % 100 != 0 or
year2 % 400 == 0):
print(year2,"是闰年!")
else:
print(year2,"不是闰年!")
- 括号:不建议使用不必要的括号,除非用于实现行连,否则不要在返回语句或者条件语句中使用括号,例如:
# x两侧的括号多余
if (x):
foo()
# x两侧的括号多余
if not (x):
foo()
# x两侧的括号多余
return (x)
空行:变量定义、类定义以及函数定义之间可以空两行。类内部的方法定义之间,类定义与第一个方法之间,建议一行。函数或方法中,如果有必要,可以空一行。
空格:对于赋值(=)、比较(==,<,>,!=,<>,<=,>=,in,not in,is,is not)、布尔(and,or,not)等运算符,在运算符两边各加一个空格,可以使代码更清晰。而对于算数运算符,可以按照自己的习惯决定,但建议运算符两侧保持一致。例如:
#不推荐写法
x==1
#推荐写法
x == 1
Python文件的执行
Python文件以.py为后缀。一般在终端里,通过python test.py
的方式来运行Python文件。